package com.vhans.db.service;

import com.vhans.core.domain.Image;
import com.vhans.db.model.dto.ConditionDTO;
import com.vhans.db.model.dto.image.ImageDTO;
import com.vhans.db.model.vo.image.*;

import java.util.List;

/**
 * 镜像Service接口
 * 
 * @author vhans
 * @date 2023-05-20
 */
public interface IImageService {

    /**
     * 查询镜像列表
     * 
     * @param condition 条件
     * @return 镜像集合
     */
    List<ImageVO> selectImageVOList(ConditionDTO condition);

    /**
     * 新增镜像
     * 
     * @param image 镜像
     * @return 插入id
     */
    Integer insertImage(ImageDTO image);

    /**
     * 获取镜像编辑信息
     *
     * @param id 镜像主键
     * @return 镜像
     */
     ImageInfoVO selectImageInfoById(Integer id);

    /**
     * 修改镜像
     * 
     * @param image 镜像
     * @return 影响行
     */
    int updateImage(ImageDTO image);

    /**
     * 批量删除镜像
     * 
     * @param idList 需要删除的镜像主键列表
     * @return 影响行
     */
    int deleteImageByIdIdList(List<Integer> idList);
}
